﻿using System.Text;

namespace Xpus.Website.Utilities
{
	/// <summary>
	/// 用于提供与字符串相关的工具。
	/// </summary>
	public static class StringUtility
	{
		/// <summary>
		/// 判断一个字符串是否为Email地址。
		/// </summary>
		/// <param name="str">待判定的字符串。</param>
		/// <returns>如果字符串是 Email 地址，返回 true；否则返回 false。</returns>
		public static bool IsEmailAddress(this string str)
		{
			return RegexUtility.GetRegex("Email").IsMatch(str);
		}

		/// <summary>
		/// 移除字符串中的 HTML 标签。
		/// </summary>
		/// <param name="html">带有 HTML 标签的字符串。</param>
		/// <returns>移除了 HTML 标签后的字符串。</returns>
		public static string RemoveHtmlTag(this string html)
		{
			return RegexUtility.GetRegex("HtmlTag").Replace(html, string.Empty);
		}

		/// <summary>
		/// 将一组字符串连接为一个。
		/// </summary>
		/// <param name="strings">字符串数组。</param>
		/// <param name="separator">每个字符串之间的分隔符。</param>
		/// <returns></returns>
		public static string Merge(this string[] strings, string separator)
		{
			StringBuilder sb = new StringBuilder();

			for(int i = 0; i < strings.Length; i++)
			{
				sb.Append(strings[i]);

				if(i < strings.Length - 1)
					sb.Append(separator);
			}

			return sb.ToString();
		}
	}
}
